import { getPhoneNumber, postWxLogin, getUserInfo } from '../../api/login'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: "",
    token: ""
  },

  cancel(){
    wx.navigateBack({
      delta: 1
    });
  },

  // 登录入口，获取手机号
  async PhoneNumber(e: any) {
    const code = e.detail.code;
    if(code){
      getPhoneNumber({
        code
      }).then(async (res: any) => {
        let mobile = res.mobile;
        this.setData({
          phone: mobile,
        })
        await this.login(mobile)
        await this.userInfo()

        wx.showToast({
          title: '登录成功',
          icon: 'success',
          duration: 2000,
          success: () => {
            this.setData({
              modalName: ""
            });
            this.SwitchIndex()
          }
        })
      })
    }
  },

  // 获取用户凭证
  login(mobile: string) {
    return new Promise((resolve, reject) => {
      wx.login({
        success(res) {
          let code = "";
          if (res && res.errMsg == 'login:ok') {
            code = res.code;
            postWxLogin({
              code,
              mobile
            }).then((res: any) => {
              if(res.code === 200){
                wx.setStorageSync('token', res.token)
                resolve(res)
              }else if(res.code === 401){
                reject(res)
              }
            })
          }
        }
      })
    })
  },

  // 获取用户信息
  userInfo(){
    return new Promise(resolve => {
      getUserInfo().then((res: any) => {
        let userInfo = res.user;
        if(userInfo){
          wx.setStorageSync('userInfo', userInfo);
          resolve(res.user)
        }
      })
    })
  },

  // 跳回首页
  SwitchIndex() {
    wx.showToast({
      title: '登录成功',
      icon: 'success',
      duration: 2000,
      success: () => {
        wx.switchTab({
          url: '/pages/home/home',
        });
      }
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      "title": "",
      "path": "pages/home/home",
      "imageUrl": "https://zn-care.oss-cn-beijing.aliyuncs.com/service/home.png"
    }
  }
})